Java 字节数组(byte[])和整型(int)的相互转换 | 您所在的位置:网站首页 › java 二进制转int › Java 字节数组(byte[])和整型(int)的相互转换 |
文章目录
前言一、int 转换为 byte[]二、测试代码三、测试四、byte[] 转换为 int总结
前言
恰巧碰到了字节数组和整型的转换问题,特在此总结一下。将 int 按照小端法映射到 byte[] 中。即最低 8 位放在 byte[0] 中,依次类推。 一、int 转换为 byte[]这个实现起来比较简单,先保存最低的 8 位到 byte 数组中,然后不断的右移 8 位,每次保存低 8 位数据即可,参考代码:(这里包含一个 int 到 byte 的转换,转换规则是截取 int 的最低 8 位作为 byte 值) public static byte[] intToBytes(int a){ byte[] ans=new byte[4]; for(int i=0;i>(i*8));//截断 int 的低 8 位为一个字节 byte,并存储起来 return ans; } 二、测试代码为了验证转换结果,简单写了两个方法用来按位打印 int 和 byte,可参考如下: public static void intPrint(int a){//将 int 按位从左到右打印 int count=0; for(int i=31;i>=0;i--){ System.out.print((a>>i)&1); count++; if(count==4){//每四位为一组,用空格分开 System.out.print(" "); count=0; } } System.out.println(); } public static void bytePrint(byte a){//将 byte 按位从左到右打印 int count=0; for(int i=7;i>=0;i--){ System.out.print((a>>i)&1); count++; if(count==4){//每四位为一组,用空格分开 System.out.print(" "); count=0; } } System.out.println(); } 三、测试测试一下 int 到 byte[] 的正确性:用一个整数来测试一下,如下: public static void main(String[] args) { int c=968523,d=-65423; byte[] ans=intToBytes(d); intPrint(d); for(int i=0;i ans int ans=0; for(int i=0;i int c=968523,d=-65423; byte[] ans=intToBytes(c); intPrint(c); for(int i=0;i |
CopyRight 2018-2019 实验室设备网 版权所有 |